查看原文
其他

你真的懂PCIe吗?

Nick Evanson 半导体行业观察 2023-06-18


PCI Express 是一项经常成为头条新闻的技术,其性能不断提高的新规范经常出现在新闻中。如果得知它已经存在了 20 年,您可能会感到惊讶!而且直到现在没有被取代的迹象。在我们看来,这项技术必须是特别的东西才能持续这么久。


如果您想知道它到底做了什么,以及 PCI Express 是如何在 20 年内一直是每台家用电脑的主要组成部分,请认真阅读这篇文章。


在 Express 之前和 PCI 之前


让我们首先回到 1980 年代,当时计算机主板上集成了数十个芯片和大量用于添加额外卡的特殊扩展槽。对于后者,一种类型主要主导本地场景:IBM 的ISA 总线(行业标准架构)。虽然相比之下对技术的改进并不那么成功,但该系统总体上在行业内变得无处不在。


到下一个十年到来时,更快的处理器帮助推动了对性能更好的扩展总线的需求,最终产生了两种新格式——英特尔的 PCI 总线(外围组件互连)和来自视频电子标准协会的VLB(VESA 本地总线)。


两者在 1992 年同时出现,尽管 PCI 最初看起来是两者中较慢的,因为它被设计为以固定的 33 MHz 运行(后来的规范修订版确实允许 66 MHz,但消费类 PC 从未真正支持这一点) . 相反,VLB 以与 CPU 的前端总线 (FSB:front-side bus) 相同的时钟运行,从而允许 VLB 达到 40 或 50 MHz,具体取决于中央处理器。


但是,它并不总是稳定在该速率,并且延迟比 PCI 更差。典型的 VLB 扩展槽也比 PCI 扩展槽大得多。尽管有这些优势,PCI 还是花了一些时间才在主板行业获得关注,尤其是在工作站和服务器市场。



当时,家庭 PC 用户通常没有很多扩展卡,也没有任何对总线有很大要求的扩展卡。然而,随着 3D 显卡行业的腾飞,这种情况发生了变化,最好的显卡配备了 PCI 连接器。结果,主板开始偏爱新总线而不是旧总线。随着这些图形加速器功能的增强和游戏利用这一点,PCI 总线的局限性变得显而易见。


与之前的 ISA 和 VLB 一样,PCI 是一种并行数据总线——这意味着 PCI 扩展槽中的所有卡都使用相同的总线,并且必须轮流传输和接收数据。对于图形卡,这可能会有问题,因为它们很容易占用总线。英特尔通过在 1997 年开发加速图形端口 (AGP:Accelerated Graphics Port) 解决了这个问题,它为显卡提供了专门的 PCI 总线。



随着旧千年向新千年的过渡,对更快总线的需求越来越大。英特尔推出 PCI 总线后不久,它成立了一个特别兴趣小组 ( PCI-SIG ),以支持主板和扩展卡供应商确保其硬件符合规范。到 2000 年代初,这个小组由数百名成员组成,其中五家(康柏、戴尔、惠普、IBM 和微软)与英特尔合作,以替代 PCI。


代号为 3GIO(第 3 代 I/O)的PCI-SIG于 2002 年 4 月宣布了其劳动成果,引入了名为PCI Express 的新技术。


PCI 与 PCI Express


尽管名称相同,但 PCI Express(通常简称为 PCIe)和 PCI 总线几乎没有共同之处。最显着的区别是 PCIe 是一个点对点系统——只有一个设备使用总线并且不与其他任何设备共享。在某些方面,这似乎 PCIe 只是升级的 AGP,但在数据传输方式上也存在显著差异。


PCI 和 AGP 使用并行数据通信,同时发送和接收多位数据,而 PCIe 使用串行通信,每个周期只发送一位。这种方法消除了并行通信中可能发生并导致问题的时钟偏差问题,最终使 PCIe 能够以更高的时钟速度运行。


PCI Express 选通脉冲的理想化图


PCI 有 66 MHz 的绝对限制(扩展版本 PCI-X 可以达到 533 MHz),而 PCI Express 的最慢时钟速度是惊人的 1250 MHz。


这种速度是通过使用低压差分选通脉冲 (LVDS:low voltage differential strobes) 实现的——一对信号,相位相差 180 度,工作电压仅为 PCI 和 AGP 使用的电压的一小部分。


PCI Express 的串行特性还显著减少了数据传输所需的电线/走线数量,PCI 需要 32 条,PCIe 只需 4 条。从技术上讲,只需要两个,每个选通脉冲一个,但是由于 PCI Express 是全双工的,同时在两个方向上发送信息,所以总是使用双组成对的选通脉冲。


这组四根线更广为人知的是PCIe 通道,规范通过乘法器指示使用的通道数,例如,x1 是一个通道,x4 是四个通道,x16 是十六个通道


通过LVDS系统的工作方式,单通道 PCIe 总线可以在一个方向上以大约 200 MB/s 的最低速率传输数据。在纸面上,它应该比这更高,但传输的信息被编码并以 8 位数据包的形式发送,每个连续的数据包沿着一个连续的通道发送。结果,由于编码需要额外的位,实际数据速率总是较低。


串行通信和基于数据包的数据传输的结合也意味着插槽连接中需要相对较少的引脚来管理所有内容。任何 PCI Express 设备的最小值是 18,尽管不是所有的都需要使用。相比之下,PCI插槽至少需要56个,无论排列多紧凑,都不可避免地占用更多空间。


从左到右:PCIe x1、PCIe x16、PCI、PCIe x1、PCIe x16


也就是说,PCIe x16 插槽明显比任何标准 PCI 或 AGP 插槽长,但没有那么高。事实上,无论 PCI Express 扩展插槽的长度如何,它们的宽度和高度几乎都是相同的(用于显卡的插槽有时会高一点)——更长的插槽只是容纳更多的传输通道。与电源和系统管理相关的一切都位于插槽的第一部分,塑料槽口之前。


PCI Express的普遍应用


从设计之初,创建 PCIe 的目的就是尽可能扩大用例范围。为此,工程师使系统向后兼容 PCI,尽管只是在软件方面。这意味着开发人员不必担心重写他们的软件来识别和访问任何使用 PCI Express 总线的设备——理论上,它可以简单地工作。


为了充分利用新系统,硬件供应商设计他们的产品以将 PCI Express 完全整合到各种组件和结构中。虽然这花了十年的大部分时间才实现,但高速通用总线最终取代了用于将 CPU 连接到主板其余部分以及所有扩展卡插槽的总线。



AMD 和英特尔都为 CPU 开发了自己的点对点超快速连接系统,前者在英特尔采用其QuickPath 互连技术将中央处理器连接到传统上处理数据流的北桥芯片之前几年推出了HyperTransport用于系统内存和显卡插槽。最终,该芯片将完全消失,嵌入到 CPU 本身中,两家公司都转而使用 PCI Express 连接到剩余的主板芯片——南桥。


今天选择任何 AMD 和 Intel 的 CPU 和主板,您会看到处理器和南桥(现在被 Intel 称为 PCH,被 AMD 简称为芯片组)都具有大型 PCI Express 控制器,有许多通道。


例如,AMD 的Ryzen 9 7950X处理器和X670E 主板芯片分别拥有 28 条和 20 条 PCIe 通道。对于 Ryzen CPU,它们被分配到专门的角色:16 个用于显卡插槽,8 个用于两个存储驱动器,其余 4 个用于与主板通信。不过,X670E 芯片中的通道可用于各种数据场景,例如以太网、WiFi 和蓝牙适配器,以及扩展槽和存储驱动器。



PCI Express 的适应性对于存储尤为重要——如今的主板具有两个用于连接硬盘和固态驱动器(HDD 和 SSD)的主要插槽,即 SATA 和 M.2 插槽(后者如上所示)。如果我们查看技嘉的 X670E Aorus Xtreme型号,您会发现共有三个扩展槽、四个 M.2 插槽和六个 SATA 插槽。所有这些都使用 PCI Express!


然而,由于 CPU 和芯片组中的通道数量是固定的,因此它们不能同时使用,这对于当今大多数主板来说都是典型的情况。不幸的是,破译图形卡、附加卡和存储驱动器的哪些组合可以工作并不是一件简单的任务。


代个人电脑拥有大量用于连接各种设备的接口,但在幕后,它是一个 PCI Express 总线处理大多数设备的数据传输(其余为 USB)。


PCI Express 如何保持最新


多年来,硬件变得越来越强大,应用程序和游戏对硬件的要求也越来越高。自然地,PCI Express 从一开始就定期更新以满足带宽要求。


对更新的一个重要限制是对完全向后兼容性的要求。例如,PCIe 3.0 设备必须能够在 PCIe 5.0 插槽中工作。这造成了一些故障,我们将在稍后介绍。


自 2003 年首次发布以来,PCI-SIG 已对规范进行了八次更新,主要修订版具有更快的数据传输速率,以及对所采用的编码方案(以减少带宽损失)和信号完整性的改进。次要修订侧重于改进电源管理、控制系统和其他方面。



在每次修订的开发过程中,PCI-SIG 的相关成员都会进行可行性研究,以确定哪些速度和功能可以在保持低成本的情况下切实进行大规模生产。这就是为什么对于 3.0 版,选通脉冲的时钟速率仅增加了 60%,而不是像以前的版本那样加倍。


3.0 版引入了更有效的编码方案(具体来说,8b/10b 用于 1.0 和 2.0,而 128b/130b 用于 3.0 到 5.0),这就是有效带宽相对于时钟速度更高的原因。如果不需要编码,PCIe 1.0 的有效带宽将达到 0.313 GB/s。



对于 6.0 版,信号方法从NRZ 切换到 PAM4 (在GDDR6X内存中使用),并且放弃了编码以支持各种纠错系统。


从带宽数据来看,单根 DDR4-3200 RAM 的峰值吞吐量为 25 GB/s,因此 PCIe 6.0 的四通道可以与之匹配。这听起来可能不是特别令人印象深刻,但对于日常 PC 和世界各地其他计算机器中使用的通用通信总线来说,这是一个显著的改进。


但是,为什么 PC 现在才刚刚采用 PCIe 4.0 和 5.0,前者的规范早在 2017 年就发布了(而 5.0 是在那之后的两年)?


它归结为需求和成本问题。按照目前的情况,个人电脑有足够的带宽来在内部移动数据,除了视频游戏之外,家用电脑还没有太大的空间需要 PCIe 6.0 之类的东西。


然而,在服务器领域,系统设计人员会很乐意使用他们可以获得的所有带宽,而且正是在该领域,我们可能会看到最先使用的最新规范。


提供电流的引脚都在最左边,缺口之前


不过,并非每个更新版本都一帆风顺,供电一直是系统的一个长期问题。无论设备使用何种尺寸的 PCIe 插槽,它们都带有少量 +3.3 V 和 +12 V 引脚,用于提供运行设备所需的电流。


从第一个 PCIe 版本开始,+3.3V 引脚的组合电流限制为 3 A,并且根据插槽中使用的附加卡尺寸,+12 V 引脚的电流限制高达 5.5 A。


这意味着对于全长 x16 卡,该设备的功耗限制为 75.9 W,这对于当时绝大多数显卡来说已经足够了。当然也有例外,例如2004 年夏季发布的Nvidia GeForce 6800 Ultra 。


它的最大功率需求略高于 80 W,超出了插槽所能提供的功率,解决方案采用 AMP 1-480424-0 的形式——更广为人知的名称是 Molex 连接器。根据零件的制造商和所用电缆的质量,这可以提供额外的 130 W 功率。



然而,这一添加并不是 PCIe 规范的一部分,因此 PCI-SIG 以两种设计的形式创建了自己的解决方案——一种包含 75 W 的 6 针脚,另一种包含 150 W 的 8 针脚。


最近,PCI-SIG 批准了 16 针设计,其中大部分开发来自 Nvidia(目前只有他们使用),它有 600 W 的限制。12VHPWR 连接器并非没有争议,AMD 和英特尔是否会采用该机制还有待观察。


PCIe 的下一步是什么?


随着 7.0 版计划于 2025 年发布,PCI-SIG 没有显示出放慢技术发展的迹象,也不打算很快用任何截然不同的东西取而代之。


下一次更新预计数据传输速率将再次翻倍,但如果小组成员认为使用 128 Gbps 在经济上不明智,他们可能会稍微降低增加幅度。考虑到目前 PCIe 5.0 的采用率,更不用说更新的规范了,家用 PC 在很多年内都不太可能实现这样的速度,可能要到 2030 年代中期。


但是让我们假设 7.0 现在已经发布,每一个新硬件都准备就绪并且可以使用它——这能带来什么好处?



首先,显卡将连接到 CPU 中的 PCIe 控制器,带宽为 242 GB/s。这与您在AMD Radeon RX 6600或Nvidia RTX 3050上找到的内存带宽大致相同。您可能认为这意味着笔记本电脑中的独立 GPU 可以只使用系统内存,而不需要它们自己的 RAM,从而节省资金和空间。


但是 PCIe 控制器仍然需要与 CPU 的内存控制器通信以访问系统 RAM,即使是超快的 DDR5,例如 DDR5-7200,每个 DIMM 也只能提供大约 58 GB/s 的速度。换句话说,尽管 PCIe 7.0 总线速度很快,但 GPU 仍将受到使用系统内存的限制。


因此,如果 GPU 不会受益,那么存储驱动器呢?目前,最快的 NVMe M.2 SSD只能达到 PCIe 4.0 x4 总线的极限,即便如此,也只是在非常特殊和短暂的情况下。当然,随着时间的推移会出现更快的驱动器,但也有更快版本的 PCI Express。


今天的台式机 CPU 通过 PCIe 总线连接到主板芯片组,AMD 在其最新的 Ryzen 7000 系列中使用 v5.0,而英特尔使用自己的系统称为直接媒体接口 (DMI),除了名称之外,它就是 PCIe。


PCI Express 通道不会在 CPU 中占用更多空间


两家供应商都没有迹象表明此链接以任何方式限制了性能——如果是的话,CPU 将使用更多通道,因为与芯片的其余部分相比,每个通道所需的裸片空间量很小。


这可能会让您认为不断更新 PCI Express 规范是在浪费时间,但这是为了让所有硬件供应商尽早就标准达成一致,以便他们有足够的时间为他们开发产品和制造方法。


PCIe 现在和 USB 一样无处不在,就像它的串行表亲现在是通过外围设备移动数据的通用主干一样,PCI Express 是计算机内部的标准。PC 行业依靠 PCI Express 来满足所有可能的需求,同时又具有成本效益。


人工智能、数据和计算服务器等专用应用程序将始终按照自己的方式发展,并采用满足其需求的独特技术,但对于日常 PC 和大多数工作站,PCI Express 是连接之王,并将持续数十年来。


👇👇 点击文末【阅读原文】,可查看原文链接!


*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。


今天是《半导体行业观察》为您分享的第3403期内容,欢迎关注。

推荐阅读


韩国芯片,想再赢一次

汽车芯片,寒意来袭!

五年赶超台积电?


半导体行业观察

半导体第一垂直媒体

实时 专业 原创 深度


识别二维码,回复下方关键词,阅读更多

晶圆|集成电路|设备|汽车芯片|存储|台积电|AI|封装

回复 投稿,看《如何成为“半导体行业观察”的一员 》

回复 搜索,还能轻松找到其他你感兴趣的文章!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存